<?php

require_once 'ConfigClement.php';
require_once 'dateCalcul.php';

class Emprunt
{
	private $id;
	private $id_dossier;
	private $montant;
	private $taux;
	private $duree;
	private $quotas;
	private $contrat_differe;
	private $type_pret;
	private $numero_pret;
	private $date_signature_prevu;
	private $couvertures;
	private $remarques;

	
	public function __construct(
			$id_dossier, $montant, $taux, $duree, $quotas, $contrat_differe, $type_pret, $numero_pret, $date_signature_prevu, $couvertures, $remarques
			)
	{

		$this->id_dossier = $id_dossier;
		$this->montant = $montant;
		$this->taux = $taux;
		$this->duree = $duree;
		$this->quotas = $quotas;
		$this->contrat_differe = $contrat_differe;
		$this->type_pret = $type_pret;
		$this->numero_pret = $numero_pret;
		$this->date_signature_prevu = $date_signature_prevu;
		$this->couvertures = $couvertures;
		$this->remarques = $remarques;

	}
	
	public function __set($attr,$value)
	{
		if(isset($this->$attr)) $this->$attr = $value;
		else throw new Exception('Unknow attribute '.$attr);
	}
	
	public function __get($attr)
	{
	
		if(isset($this->$attr)) return $this->$attr;
		else throw new Exception('Unknow attribute '.$attr);
	}
	
	public function getListEmpruntByDossier($idDossier)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		
		$listEmprunt = array();
		
		
		if ($con) {
		
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
		
			$requete = "SELECT * FROM emprunt WHERE id_dossier = $idDossier";
				
			$resultat = mysql_query ($requete);
		
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
		
		
		
			while ($ligne = mysql_fetch_assoc($resultat)) {
		
				$emprunt = Emprunt::getEmprunt($ligne);
		
				$emprunt->id = $ligne['id'];
				array_push($listEmprunt,$emprunt);
			}
		
		
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
		
		mysql_close($con);
		
		return $listEmprunt;
		
	}
	
	public static function getEmprunt($ligne)
	{
	
		return new Emprunt($ligne['id_dossier'], $ligne['montant'],$ligne['taux'], $ligne['duree'], $ligne['quotas'], $ligne['contrat_differe'], $ligne['type_pret'], $ligne['numero_pret'], changeDateUStoFR ($ligne['date_signature_prevu']), $ligne['couvertures'], $ligne['remarques']);
	
	}
	
	public static function getEmpruntById($id)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
	
		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
	
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT * FROM emprunt WHERE id = '$id'";
			$resultat = mysql_query ($requete);
	
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}

			while ($ligne = mysql_fetch_assoc($resultat)) {
	
				$emprunt = Emprunt::getEmprunt($ligne);
	
				$emprunt->id = $ligne['id'];
			}
	
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $emprunt;
	
	}
	
	public function setAllValueEmprunt(
			$montant, $taux, $duree, $quotas, $contrat_differe, $type_pret, $numero_pret, $date_signature_prevu,
			$remarques, $couvertures)
	{
	
		$this->montant = $montant;
		$this->taux = $taux;
		$this->duree = $duree;
		$this->quotas = $quotas;
		$this->contrat_differe = $contrat_differe;
		$this->date_signature_prevu = $date_signature_prevu;
		$this->type_pret = $type_pret;
		$this->numero_pret = $numero_pret;
		$this->remarques = $remarques;
		$this->couvertures = $couvertures;
	}
	
	
	public function saveEmprunt()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
	
		$date_signature_prevu = changeDateFRtoUS($this->date_signature_prevu);
	
	
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
	
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "INSERT INTO emprunt (id_dossier, montant, duree, taux, couvertures, quotas, type_pret, numero_pret,
			date_signature_prevu, remarques, contrat_differe)
			VALUES('$this->id_dossier',
			$this->montant, $this->duree, $this->taux, '$this->couvertures',
			$this->quotas, '".addslashes($this->type_pret)."', '$this->numero_pret', '$date_signature_prevu', '".addslashes($this->remarques)."', $this->contrat_differe)";
			echo $requete;
			$resultat = mysql_query ($requete);
				
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	}
	
	public static function getLastIdByDossier($id_dossier)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		$id_emprunt= -1;
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT MAX(id) FROM emprunt WHERE id_dossier= '$id_dossier'";
			$resultat = mysql_query ($requete);
	
			if (!$resultat) {
				echo "Impossible d'exêcuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
			if ($ligne = mysql_fetch_assoc($resultat)) {
				$id_emprunt = $ligne['MAX(id)'];
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $id_emprunt;
	}
	
	
	public function updateEmprunt()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$date_signature_prevu = changeDateFRtoUS($this->date_signature_prevu);

		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
	
		if ($con) {
				
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "UPDATE emprunt SET 
			montant = $this->montant, duree = $this->duree, taux = $this->taux, couvertures = '$this->couvertures',
			quotas = $this->quotas, type_pret = '$this->type_pret', numero_pret = '$this->numero_pret', date_signature_prevu = '$date_signature_prevu', 
			remarques = '$this->remarques', contrat_differe = '$this->contrat_differe'
			 where id = $this->id";
			//echo $requete;
				
			$resultat = mysql_query ($requete);
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	}
	
	public function deleteEmprunt()
	{
	
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
	
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
	
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "DELETE FROM emprunt where id = $this->id";
	
			$resultat = mysql_query ($requete);
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
 		$compta = Comptabilite::getComptaByEmprunt($this->id);
 		$compta->deleteComptabilite();
	
	}
	


}